//
//  StatusListViewModel.swift
//  新浪微博
//
//  Created by seteny on 16/7/13.
//  Copyright © 2016年 seteny. All rights reserved.
//

import UIKit

// 这个viewModel 对应视图是首页的tableview
class StatusListViewModel: NSObject {

    // 微博数据源
    lazy var statusList: [StatusViewModel] = [StatusViewModel]()
    
    // 加载微博数据
    func loadStatus(callBack: (isSuccess: Bool) ->()) {
        
        NetworkTools.sharedTools.loadStatus { (response, error) -> () in
            if error != nil {
                print(error)
                callBack(isSuccess: false)
                return
            }
            //代码执行到此,是成功的回调
            guard let dict = response as? [String: AnyObject] else {
                print("这不是一个正确的字典格式")
                callBack(isSuccess: false)
                return
            }
            
            // 代码执行到此字典格式正确
            guard let statusDictArray = dict["statuses"] as? [[String: AnyObject]] else {
                print("不是一个正确的字典格式")
                callBack(isSuccess: false)
                return
            }
            
            //遍历数组完成字典转模型
            var tempArray = [StatusViewModel]()
            for statusDict in statusDictArray {
                
                let status = Status(dict: statusDict)
                // 初始化viewModel 通过我们的微博模型
                let statusViewModel = StatusViewModel(status: status)
                
                tempArray.append(statusViewModel)
            }
          //追加数组元素
            self.statusList.appendContentsOf(tempArray)
            
            //刷新数据
            callBack(isSuccess: true)
        
        }
    }
}
